Interprocedurally Analyzing Linear Inequality Relations
نویسندگان
چکیده
We present an abstraction of the effect of procedures through convex sets of transition matrices. Conditional branching is handled by postponing the conditional evaluation after the procedure call. In order to obtain an effective analysis convex sets are represented by polyhedra. For an efficient implementation we approximate polyhedra by means of simplices. In [CH78], Cousot and Halbwachs present an intraprocedural analysis of linear inequalities based on an abstraction of the collecting semantics [CC92] by means of convex polyhedra. They draw upon both the frame and the constraint representation of polyhedra to perform the subsumption test and widening [CH78] on polyhedra. More precise widening strategies on convex polyhedra are provided in [BZHR03]. Based on this approach, an interprocedural analysis can be obtained by relating input and output states of a procedure call by means of linear inequalities. This leads to transition invariants on program variables before and after the procedure call. In the simple example in figure 1 (from [MOS04]) the relational semantics of procedure call f() at program state 2 can be described by the transition invariants x = xold ∨ x = 2 · xold − 2. The approximation of these invariants by polyhedra leads to a complete loss of information. Although this approach works in several practical cases (e.g. McCarthy91 function [MM70]), it is too restrictive for a precise interprocedural analysis.
منابع مشابه
Interprocedurally Analysing Linear Inequality Relations
In this paper we present an alternative approach to interprocedurally inferring linear inequality relations. We propose an abstraction of the effects of procedures through convex sets of transition matrices. In the absence of conditional branching, this abstraction can be characterised precisely by means of the least solution of a constraint system. In order to handle conditionals, we introduce...
متن کاملInterprocedurally Analyzing Linear Inequalities
We present an abstraction of the effect of procedures through convex sets of transition matrices. Conditional branching is handled by postponing the conditional evaluation after the procedure call. In order to obtain an effective analysis convex sets are approximated by polyhedra. For an efficient implementation we approximate polyhedra by means of simplices. In [CH78], Cousot and Halbwachs pre...
متن کاملAnalyzing the Causal Relationships between Economic Growth, Income Inequality, and Transmission Channels: New Empirical Evidences from Iran
This paper investigates causal relations between economic growth, income inequality, and transmission channels during the period 1972 to 2016. These channels include saving rate, investment rate, redistribution policies, human capital, and conspicuous consumption. There is no strong evidence that supports uni-directional or bi-directional causality. In addition, some of the transmission channel...
متن کاملComputing Interprocedurally Valid Relations in Affine Programs
We consider an abstraction of programs which preserves affine assignments exactly while conservatively dealing with other assignments and ignoring conditions at branches. We present an interprocedural analysis of such abstracted programs which for every program point v determines the set of all affine relations between program variables which are valid when reaching v. The runtime of this algor...
متن کاملAnalyzing the effects of income inequality on public debt in OPEC member states by threshold panel
Abstract One of the major problems of developing governments, such as those of OPEC member states, is the government deficit and rising public debt. One of the reasons for this public debt is government policies faced with income inequalities. The opposite side said that the increased income inequality can lead to capital accumulation and thus increase production and tax payments and reduce go...
متن کامل